package com.atguigu.gulimall.order.vo;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
 * 订单确认页需要用的数据
 */
@Data
public class OrderConfirmVo {
    List<MemberAddressVo> address;    //收获地址，ums_member_receive_address表
    List<OrderItemVo> items;    //所有选中的购物项
    Integer integration;    //积分
    BigDecimal total;    //订单总额
    BigDecimal payPrice;    //应付价格
    String orderToken;    //防重令牌，防止订单多次刷新，导致订单数量变化
    Map<Long, Boolean> stocks;    //商品的库存

    //获取 总件数
    public Integer getCount(){
        Integer i = 0;
        if (items != null){
            for (OrderItemVo item : items) {
                i += item.getCount();
            }}
        return i;
    }

    //获取 订单总额
    public BigDecimal getTotal() {
        BigDecimal total = new BigDecimal("0");
        if (items != null){
            for (OrderItemVo item : items) {
                //                        价格           乘以                      数量
                BigDecimal multiply = item.getPrice().multiply(new BigDecimal(item.getCount().toString()));
                total = total.add(multiply);
            }}
        return total;
    }

    //应付价格
    public BigDecimal getPayPrice() {
        return getTotal();
    }}
